package com.xcm.dao;

import com.github.pagehelper.Page;
import com.xcm.model.TbDeviceModel;
import com.xcm.model.dto.DeviceModelDTO;

import java.util.List;

public interface DeviceModelMapper {
	/**
	 * 获取终端型号列表
	 *
	 * @return List<DeviceModelDTO>
	 */
	List<DeviceModelDTO> listDeviceModels();

	/**
	 * 获取终端型号分页列表
	 *
	 * @return List<TbDeviceModel>
	 */
	Page<TbDeviceModel> listDeviceModelByPage();

	/**
	 * 保存终端型号
	 *
	 * @param deviceModel TbDeviceModel
	 */
	void saveDeviceModel(TbDeviceModel deviceModel);

	/**
	 * 修改终端型号
	 *
	 * @param deviceModel TbDeviceModel
	 */
	void updateDeviceModel(TbDeviceModel deviceModel);

	/**
	 * 通过ID删除终端型号
	 *
	 * @param deviceModelIds 终端型号ID集(如：“1,2,3,4”)
	 */
	void deleteDeviceModelBatch(String deviceModelIds);

	/**
	 * 通过型号获取终端型号
	 *
	 * @param model 型号
	 * @return TbDeviceModel
	 */
	TbDeviceModel getDeviceModelByModel(String model);

	/**
	 * 通过ID获取终端型号
	 *
	 * @param deviceModelId 终端型号ID
	 * @return TbDeviceModel
	 */
	TbDeviceModel getDeviceModelById(Long deviceModelId);

	/**
	 * 查询所有固件中的机型
	 *
	 * @return List<DeviceModelDTO>
	 */
	List<DeviceModelDTO> listDeviceModelsSelectedOfFirmware();
}
